package cn.tedu.springmvc.controller;

import cn.tedu.springmvc.pojo.entity.RegUser;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;

/*
ctrl+c 复制
ctrl+v 粘贴

   一个参数
   两个参数
   多个参数
    */
@RestController
@RequestMapping("/p")
public class PostController {
    //单个参数---方式1
   // http://localhost:9090/p/user
    @RequestMapping("/user")
    public String getUserById(Long id){
        System.out.println(id);
        return "id:"+ id;
    }
    //单个参数---方式2
    // http://localhost:9090/p/user/1
    @RequestMapping("/user/{id}")
    public String getUserById2(@PathVariable Long id){
        System.out.println(id);
        return "id:"+ id;
    }
    /*
    多个参数 2 及 2个以上
     */
    //两个参数的第一种写法
    //http://localhost:9090/p/user/login
    @RequestMapping("/user/login")
    public String userLogin1(String username,String password){
        System.out.println(username+":"+password);
        return "username:"+username+" password:"+password;
    }

    //两个参数的第二种写法
    //@PathVariable("if") 可以接受关键字 if参数，进行映射到username中
    //http://localhost:9090/p/user/login/tom/123456
    @RequestMapping("/user/login/{if}/{password}")
    public String userLogin2(@PathVariable("if") String username
                             ,@PathVariable String password){
        System.out.println(username+":"+password);
        return "username:"+username+" password:"+password;
    }

    //http://localhost:9090/p/user/reg
    // ?username=tom&password=123456&nickname=ann
    @RequestMapping("/user/reg")
    public String reg(RegUser user){
        return user.toString();
    }
    // POST+ JSON {k:v}--->参数不会自动映射
    //@RequestBody -->解析请求体中的对象参数
    @RequestMapping("/user/reg2")
    public String reg2(@RequestBody RegUser user){
        //ResposeBody--->把方法return数据，通过响应体，直接会现在浏览器页面上
        return user.toString();
    }

    // like = 睡觉、吃饭、打豆豆
    //http://localhost:9090/p/likes
    // ?like=睡觉,吃饭,打豆豆
    @RequestMapping("/likes")
    public String likes(String[] like){
        return Arrays.toString(like);
    }

}
